home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / misc / sana2.lzh / sana2 / include / devices / sana2.i < prev    next >
Text File  |  1991-11-18  |  8KB  |  232 lines

  1.         IFND    SANA2_SANA2DEVICE_I
  2. SANA2_SANA2DEVICE_I     SET     1
  3. **
  4. **      $Id: sana2.i,v 1.7 91/11/12 14:24:45 dlarson Exp $
  5. **
  6. **      Structure definitions for SANA-II devices.
  7. **
  8. **      (C) Copyright 1991 Commodore-Amiga Inc.
  9. **              All Rights Reserved
  10. **
  11.  
  12.  
  13.         IFND    EXEC_TYPES_I
  14.         INCLUDE "exec/types.i"
  15.         ENDC
  16.  
  17.         IFND    EXEC_PORTS_I
  18.         INCLUDE "exec/ports.i"
  19.         ENDC
  20.  
  21.         IFND    EXEC_IO_I
  22.         INCLUDE "exec/io.i"
  23.         ENDC
  24.  
  25.         IFND    EXEC_ERRORS_I
  26.         INCLUDE "exec/errors.i"
  27.         ENDC
  28.  
  29.         IFND    DEVICES_TIMER_I
  30.         INCLUDE "devices/timer.i"
  31.         ENDC
  32.  
  33.         IFND    UTILITY_TAGITEM_I
  34.         INCLUDE "utility/tagitem.i"
  35.         ENDC
  36.  
  37.  
  38. SANA2_MAX_ADDR_BITS     EQU     128
  39. SANA2_MAX_ADDR_BYTES    EQU     ((SANA2_MAX_ADDR_BITS+7)/8)
  40.  
  41.  
  42.  STRUCTURE IOSana2Req,0
  43.         STRUCT  IOS2_REQ,IO_SIZE
  44.         ULONG   IOS2_WIREERROR          ; wire type specific error
  45.         ULONG   IOS2_PACKETTYPE         ; packet type
  46.         STRUCT  IOS2_SRCADDR,SANA2_MAX_ADDR_BYTES       ; source address
  47.         STRUCT  IOS2_DSTADDR,SANA2_MAX_ADDR_BYTES       ; dest address
  48.         ULONG   IOS2_DATALENGTH         ; length of packet data
  49.         APTR    IOS2_DATA               ; packet data (not touched by driver!)
  50.         APTR    IOS2_STATDATA           ; statics data pointer
  51.         APTR    IOS2_BUFFERMANAGEMENT   ; see SANA-II OpenDevice adoc
  52.  
  53.         LABEL   IOS2_SIZE
  54.  
  55.  
  56. ;
  57. ; equates for the IOS2_FLAGS field
  58. ;
  59.  
  60. SANA2IOB_RAW    EQU     7               ; raw packet IO requested
  61. SANA2IOF_RAW    EQU     (1<<SANA2IOB_RAW)
  62.  
  63. SANA2IOB_BCAST  EQU     6               ; broadcast packet (received)
  64. SANA2IOF_BCAST  EQU     (1<<SANA2IOB_BCAST)
  65.  
  66. SANA2IOB_MCAST  EQU     5               ; multicast packet (received)
  67. SANA2IOF_MCAST  EQU     (1<<SANA2IOB_MCAST)
  68.  
  69. SANA2IOB_QUICK  EQU     IOB_QUICK       ; quick IO requested (0)
  70. SANA2IOF_QUICK  EQU     IOF_QUICK
  71.  
  72.  
  73. ;
  74. ; equates for OpenDevice()
  75. ;
  76.  
  77. SANA2OPB_MINE   EQU     0               ; exclusive access requested
  78. SANA2OPF_MINE   EQU     (1<<SANA2OPB_MINE)
  79.  
  80. SANA2OPB_PROM   EQU     1               ; promiscuous mode requested
  81. SANA2OPF_PROM   EQU     (1<<SANA2OPB_PROM)
  82.  
  83. S2_Dummy        EQU     (TAG_USER+$B0000)
  84. S2_COPYTOBUFF   EQU     S2_Dummy+1
  85. S2_COPYFROMBUFF EQU     S2_Dummy+2
  86.  
  87.  STRUCTURE SANA2DEVICEQUERY,0
  88.         ; Standard information
  89.         ULONG   S2DQ_SIZEAVAILABLE      ; bytes available
  90.         ULONG   S2DQ_SIZESUPPLIED       ; bytes supplied
  91.         ULONG    S2DQ_FORMAT             ; this is type 0
  92.         ULONG    S2DQ_DEVICELEVEL        ; this document is level 0
  93.  
  94.         ; Common information
  95.         UWORD   S2DQ_ADDRFIELDSIZE           ; address size in bits
  96.         ULONG   S2DQ_MTU                ; maximum packet data size
  97.         ULONG    S2DQ_BPS                ; line rate (bits/sec)
  98.         ULONG    S2DQ_HARDWARETYPE       ; what the wire is
  99.  
  100.         ; Format specific information
  101.         LABEL   S2DQ_SIZE
  102.  
  103.  
  104. ;
  105. ; defined SANA-II hardware types
  106. ;
  107.  
  108. S2WIRETYPE_ETHERNET             EQU     1
  109. S2WIRETYPE_IEEE802              EQU     6
  110. S2WIRETYPE_ARCNET               EQU     7
  111. S2WIRETYPE_LOCALTALK            EQU     11
  112.  
  113. S2WIRETYPE_PPP                  EQU     253
  114. S2WIRETYPE_SLIP                 EQU     254
  115. S2WIRETYPE_CSLIP                EQU     255
  116.  
  117.  
  118.  STRUCTURE SANA2PACKETTYPESTATS,0
  119.         ULONG    S2PTS_TXPACKETS         ; transmitted count
  120.         ULONG    S2PTS_RXPACKETS         ; received count
  121.         ULONG    S2PTS_TXBYTES           ; bytes transmitted count
  122.         ULONG    S2PTS_RXBYTES           ; bytes received count
  123.         ULONG    S2PTS_PACKETSDROPPED    ; packets dropped count
  124.         LABEL   S2PTS_SIZE
  125.  
  126.  
  127.  STRUCTURE SANA2SPECIALSTATRECORD,0
  128.         ULONG   S2SSR_TYPE              ; statistic identifier
  129.         ULONG    S2SSR_COUNT             ; the statistic
  130.         APTR    S2SSR_STRING            ; statistic name
  131.         LABEL   S2SSR_SIZE
  132.  
  133.  
  134.  STRUCTURE SANA2SPECIALSTATHEADER,0
  135.         ULONG   S2SSH_RECORDCOUNTMAX            ; room available
  136.         ULONG   S2SSH_RECORDCOUNTSUPPLIED       ; number supplied
  137.         LABEL   S2SSH_SIZE
  138.  
  139.  
  140.  STRUCTURE SANA2DEVICESTATS,0
  141.         ULONG    S2DS_PACKETSRECEIVED           ; received count
  142.         ULONG    S2DS_PACKETSSENT               ; transmitted count
  143.         ULONG    S2DS_BADDATA                   ; bad packets received
  144.         ULONG    S2DS_OVERRUNS                  ; hardware miss count
  145.         ULONG    S2DS_SOFTMISSES                ; software miss count
  146.         ULONG    S2DS_UNKNOWNTYPESRECEIVED      ; orphan count
  147.         ULONG    S2DS_RECONFIGURATIONS          ; network reconfigurations
  148.         STRUCT  S2DS_LASTSTART,TV_SIZE          ; time of last online
  149.         LABEL   S2DS_SIZE
  150.  
  151.  
  152. ;
  153. ; Device Commands
  154. ;
  155.  
  156. S2_START                EQU     (CMD_NONSTD)
  157.  
  158. S2_DEVICEQUERY          EQU     (S2_START+0)
  159. S2_GETSTATIONADDRESS    EQU     (S2_START+1)
  160. S2_CONFIGINTERFACE      EQU     (S2_START+2)
  161. S2_ADDSTATIONALIAS      EQU     (S2_START+3)
  162. S2_DELSTATIONALIAS      EQU     (S2_START+4)
  163. S2_ADDMULTICASTADDRESS  EQU     (S2_START+5)
  164. S2_DELMULTICASTADDRESS  EQU     (S2_START+6)
  165. S2_MULTICAST            EQU     (S2_START+7)
  166. S2_BROADCAST            EQU     (S2_START+8)
  167. S2_TRACKTYPE            EQU     (S2_START+9)
  168. S2_UNTRACKTYPE          EQU     (S2_START+10)
  169. S2_GETTYPESTATS         EQU     (S2_START+11)
  170. S2_GETSPECIALSTATS      EQU     (S2_START+12)
  171. S2_GETGLOBALSTATS       EQU     (S2_START+13)
  172. S2_ONEVENT              EQU     (S2_START+14)
  173. S2_READORPHAN           EQU     (S2_START+15)
  174. S2_ONLINE               EQU     (S2_START+16)
  175. S2_OFFLINE              EQU     (S2_START+17)
  176.  
  177. S2_END                  EQU     (S2_START+18)
  178.  
  179.  
  180. ;
  181. ; defined errors for IOS2_ERROR
  182. ;
  183.  
  184. S2ERR_NO_ERROR          EQU     0       ; peachy-keen
  185. S2ERR_NO_RESOURCES      EQU     1       ; resource allocation failure
  186. S2ERR_BAD_ARGUMENT      EQU     3       ; garbage somewhere
  187. S2ERR_BAD_STATE         EQU     4       ; inappropriate state
  188. S2ERR_BAD_ADDRESS       EQU     5       ; who?
  189. S2ERR_MTU_EXCEEDED      EQU     6       ; too much to chew
  190. S2ERR_NOT_SUPPORTED     EQU     8       ; command not supported by hardware
  191. S2ERR_SOFTWARE          EQU     9       ; software error detected
  192. S2ERR_OUTOFSERVICE    EQU    10    ; driver is offline
  193. ;SEE ALSO <exec/errors.i>
  194.  
  195. ;
  196. ; defined errors for IOS2_WIREERROR
  197. ;
  198.  
  199. S2WERR_GENERIC_ERROR    EQU     0       ; no specific info available
  200. S2WERR_NOT_CONFIGURED   EQU     1       ; unit not configured
  201. S2WERR_UNIT_ONLINE      EQU     2       ; unit is currently online
  202. S2WERR_UNIT_OFFLINE     EQU     3       ; unit is currently offline
  203. S2WERR_ALREADY_TRACKED  EQU     4       ; protocol already tracked
  204. S2WERR_NOT_TRACKED      EQU     5       ; protocol not tracked
  205. S2WERR_BUFF_ERROR       EQU     6       ; buffer mgmt func returned error
  206. S2WERR_SRC_ADDRESS      EQU     7       ; source address problem
  207. S2WERR_DST_ADDRESS      EQU     8       ; destination address problem
  208. S2WERR_BAD_BROADCAST    EQU     9       ; broadcast address problem
  209. S2WERR_BAD_MULTICAST    EQU     10      ; multicast address problem
  210. S2WERR_MULTICAST_FULL   EQU     11      ; multicast address list full
  211. S2WERR_BAD_EVENT        EQU     12      ; unsupported event class
  212. S2WERR_BAD_STATDATA     EQU     13      ; statdata failed sanity check
  213. S2WERR_IS_CONFIGURED    EQU     15      ; attempt to config twice
  214. S2WERR_NULL_POINTER     EQU     16      ; null pointer detected
  215.  
  216.  
  217. ;
  218. ; defined events
  219. ;
  220.  
  221. S2EVENT_ERROR       equ 1      ; error catch all
  222. S2EVENT_TX          equ 2      ; transmitter error catch all
  223. S2EVENT_RX          equ 4      ; receiver error catch all
  224. S2EVENT_ONLINE      equ 8      ; unit is in service
  225. S2EVENT_OFFLINE     equ 16     ; unit is not in service
  226. S2EVENT_BUFF        equ 32     ; buffer mgmt function error catch all
  227. S2EVENT_HARDWARE    equ 64     ; hardware error catch all
  228. S2EVENT_SOFTWARE    equ 128    ; software error catch all
  229.  
  230.  
  231.         ENDC    SANA2_SANA2DEVICE_I
  232.